package br.com.ema.maze.factory;

import java.util.ArrayList;
import java.util.List;

import br.com.ema.maze.components.Coordinates;

/**
 * @author Emanuel Cruz Rodrigues -> emanuelcruzrodrigues@gmail.com
 *
 */
public class MazeParameters {

	private int width;
	private int height;
	private int wallPercentage;
	private int wallPassageAllowerInterval;
	private Coordinates startCoordinates;
	private Coordinates exitCoordinates;
	
	private List<MazeCharacterConfiguration> charactersConfigurations = new ArrayList<MazeCharacterConfiguration>();
	
	public MazeParameters() {
	}
	
	public MazeParameters(int width, int height, int wallPercentage, int wallPassageAllowerInterval, Coordinates startCoordinates, Coordinates exitCoordinates) {
		super();
		this.width = width;
		this.height = height;
		this.wallPercentage = wallPercentage;
		this.wallPassageAllowerInterval = wallPassageAllowerInterval;
		this.startCoordinates = startCoordinates;
		this.exitCoordinates = exitCoordinates;
	}

	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}

	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}

	public int getWallPercentage() {
		return wallPercentage;
	}
	public void setWallPercentage(int wallPercentage) {
		this.wallPercentage = wallPercentage;
	}


	public int getWallPassageAllowerInterval() {
		return wallPassageAllowerInterval;
	}
	public void setWallPassageAllowerInterval(int wallPassageAllowerInterval) {
		this.wallPassageAllowerInterval = wallPassageAllowerInterval;
	}

	public Coordinates getStartCoordinates() {
		return startCoordinates;
	}

	public void setStartCoordinates(Coordinates startCoordinates) {
		this.startCoordinates = startCoordinates;
	}

	public Coordinates getExitCoordinates() {
		return exitCoordinates;
	}

	public void setExitCoordinates(Coordinates exitCoordinates) {
		this.exitCoordinates = exitCoordinates;
	}

	public List<MazeCharacterConfiguration> getCharactersConfigurations() {
		return charactersConfigurations;
	}

	public void setCharactersConfigurations(List<MazeCharacterConfiguration> charactersConfigurations) {
		this.charactersConfigurations = charactersConfigurations;
	}
	
	
	
	
}
